1. Field of the Invention
The present invention relates to a printer control technique for performing high-speed printing.
The present application is based on Japanese Patent Applications No. Hei. 10-77882 and Hei. 11-25764, which are incorporated herein by reference.
2. Description of the Related Art
A printer used with a computer system usually forms a pseudo-continuous tone image-which-visually appears to be a continuous tone, through use of a limited number of coloring agents, such as cyan, magenta, and yellow (CMY), or cyan, magenta, yellow, and black (CMYK), by printing or not printing a small point (dot) of each coloring agent at each pixel position on a sheet (and, in some types of printers, by changing dots so as to assume a plurality of different sizes). Accordingly, image data finally required by the printer usually comprise CMYK raster image data which represent whether or not a dot of each color of CMYK coloring agents is printed or not printed at each pixel position (in some types of printers, the CMYK raster image data further represent which of a plurality of dot sizes is designated). Such CMYK raster image data require a color component resolution of only two or so (but not too many) levels. Throughout the specification, such CMYK raster image data will be referred to as CMYK raster image data having a xe2x80x9clow-value resolution.xe2x80x9d
Original image dataxe2x80x94which are prepared by means of an application in a host computer which issues a print instruction to the printer or are input from the outsidexe2x80x94are usually represented by a host color system differing from a printer color system; typically an RGB color system. Further, the original image data are RGB data having a xe2x80x9chigh-value resolutionxe2x80x9d; for example, a color component of 256-level gray scale. The original image data may be low-level data (raster image data) represented by a set of pixel values in one case and may be high-value data represented by a graphic function or character codes in another case.
In a conventional print system, the processing for converting high-value resolution RGB data of the original image into final CMYK data of low-value resolution is performed by means of a printer driver which is made up of software installed in a host computer, or by means of imaging software installed in the printer. The processing comprises a xe2x80x9crasterizationxe2x80x9d step of converting high-level original image data into raster image data; a xe2x80x9ccolor conversionxe2x80x9d step of converting RGB-based pixel values into CMY-based or CMYK-based pixel values through use of a look-up table; and a xe2x80x9chalftoningxe2x80x9d step of converting pixel values of high-value resolution into pixel values of low-value resolution through use of error variance or dithering. Further, in order to improve picture quality, an ink-jet printer employs a so-called xe2x80x9cinterlacexe2x80x9d printing technique or an xe2x80x9coverlapxe2x80x9d printing technique, according to which dots are printed in a sequence differing from that in which the pixels are arranged. Interleaving of pixel values in a rearranged sequence for the purpose of effecting interlace printing or overlap printing is also carried out through the conversion process set forth.
If a printer driver carries out the foregoing conversion operations, the operations will impose a burden on the central processing unit (CPU) of a host computer. Similarly, if a printer carries out the foregoing conversion operations, the operations will impose a burden on the CPU of the printer. These processing operations are time consuming and account for a large portion of print time. A laser printer aimed at high-speed operations has a high-performance CPU and performs the foregoing conversion operations at high speed. Such a high-performance CPU is a primary factor for driving the cost of a laser printer considerably high. In contrast, in an ink-jet printer aimed at attaining a low price, a host computer processes all these operations. Consequently, the ink-jet printer is considerably slower in print speed, and the host computer is occupied for a long period of time, which in turn causes a delay in other tasks to be processed by the host computer.
Accordingly, the object of the present invention is to realize high-speed printing through use of inexpensive equipment.
Another object of the present invention is to realize high-speed printing without imposing a heavy burden on a CPU of a host computer in an environment where a low-speed printer, such as a conventional ink-jet printer, is used.
Still another object of the present invention is to provide an inexpensive printer capable of performing printing operations at high speed.
According to the present invention, a hardware circuit specifically designed for controlling a printer is interposed between a host machine, such as a host computer, and a printer. The printer-control-only hardware circuit may be incorporated into the host machine, incorporated into the printer, or embodied in the form of external device connected between the host machine and the printer.
The printer-control-only hardware circuit comprises a command analysis circuit, an image data processing circuit, a memory control circuit, command buffer memory, data buffer memory, and a command generation circuit.
The command analysis circuit receives a control circuit command from the host machine, determines whether the thus-received control circuit command is a backend parameter setting command used for transmitting a backend parameter which is required for resetting the printer or a high-order raster image transmission command for transmitting high-order raster image data (e.g., RGB raster data having high-value resolution), and transmits the backend parameter to the memory control circuit or the high-order raster image to the image data processing circuit.
The image data processing circuit converts the high-order raster image data received from the command analysis circuit into low-order image data (e.g., CMYK raster data having low-value resolution) required by a printing mechanism of the printer and transmits the low-order image data to the memory control circuit. For example, in a preferred mode, the image data processing circuit has a halftoning circuit which converts full-color RGB raster image data into binary CMYK raster image data.
The memory control circuit temporarily stores into the command buffer memory the backend parameter received from the command analysis circuit and temporarily stores into the data buffer memory the low-order raster image data received from the image data processing circuit. Further, the memory control circuit reads the backend parameter from the command buffer memory, transmits the thus-read backend parameter to the command generation circuit, reads the low-order raster image data from the data buffer memory, and transmits the thus-read low-order raster image data to the command generation circuit.
The command generation circuit generates, from the backend parameter received from the memory control circuit, a printer command for use in resetting the printer, transmits the thus-generated printer command to the printer, generates, from the low-order raster image received from the memory control circuit, a printer command for use in transmitting the low-order raster image to the printer, and transmits the thus-generated printer command to the printer.
By use of the above-described printer-control-only hardware circuit, at least a portion of data processing, which is performed by the CPU of a conventional host machine or the CPU of the printer, is offloaded from the CPU and placed on the printer-control-only hardware circuit, thereby lessening the burden imposed on the CPU. Particularly, an inexpensive, low-performance CPU may be used as the CPU of the printer. In a preferred mode, processing involving a heavy load, such a color conversion operation or a halftoning operation, is offloaded from the CPU and placed on the printer-control-only hardware circuit, thereby significantly lessening the burden imposed on the hostmachine or the printer. Further, as a matter of course, the printer-control-only hardware circuit is faster in processing speed than the CPU which processes a print job by use of software. Thus, high-speed printing can be effected. In addition, the printer-control-only hardware circuit is formed from an application-specified IC (ASIC), and hence a print system including the printer-control-only hardware circuit is less expensive than the conventional high-speed print system.
The printer-control-only hardware circuit determines whether the control circuit command received from the host machine is a backend parameter setting command used for transmitting a backend parameter required for resetting the printer or the raster image transfer command used for transmitting raster image data. The backend parameter is stored in a different buffer memory device than are the raster image data. The backend parameter is read from the buffer memory and is sent to the printer in the form of an initial setting command for the printer. Next, the raster image data are read from the buffer memory and are sent to the printer in the form of a raster image transfer command for the printer. As a result, in a case where the backend parameter setting command is sent first from the host machine and is followed by the raster image transfer command, the backend parameter is reliably processed earlier than are the raster image data without being affected by processing of the raster image data, thus enabling the printer setting command to be transmitted to the printer before the raster image data. In other words, the control circuit commands received from the host machine can be transmitted to the printer after having been converted into printer commands and while being maintained in the same sequence as that in which the control circuit commands are received from the host machine. As mentioned above, the sequence of control circuit commands is maintained even after the control circuit commands have been converted into the printer commands. Accordingly, at the time of newly designing a control circuit command system, existing printer command system resources can be utilized extensively, thus resulting in a reduction in labor for designing. Further, the foregoing method under which the sequence of command is maintained can be realized by use of a comparatively simple circuit configuration, thereby cutting the cost of the printer.
In a preferred mode, the printer-control-only hardware circuit further comprises a position control circuit connected to both the memory control circuit and the command generation circuit. The command generation circuit supplies, to the position control circuit the backend parameter received from the memory control circuit. On the basis of the backend parameter, the position control circuit determines specifications for interlace or overlap printing to be performed by the printer. According to the thus-determined specifications, the position control circuit selects pixels to be printed by a print head of the printer in each path. The position control circuit makes a request to the memory control circuit for the low-order raster data relating to the thus-selected pixels. In response to the request, the memory control circuit reads, from the data buffer memory, the low-order raster data that relate to the selected pixels and the area requested by the position control circuit and transmits the thus-read low-order raster data to the position control circuit. The position control circuit transmits to the command generation circuit the low-order raster data that relate to the selected pixels and are received from the memory control circuit. The command generation circuit generates, from the low-order raster data, a raster image transfer command for the printer and transmits the thus-generated raster image transfer command to the printer. As mentioned above, the printer-control-only hardware circuit determines specifications for interlace and overlap printing to thereby prepare raster data to be imparted to the print head in each path. Consequently, the CPU of the printer is freed from the burden of laborious printing associated with interlace and overlap printing. Alternatively, determining specifications for interlace and overlap printing may be performed by use of another very inexpensive CPU in lieu of the printer-control-only hardware circuit.
In another preferred mode, in a case where an image to be printed includes a natural image, characters, and graphics, an image relating to a natural image is sent to the printer-control-only hardware circuit in the form of high-order raster image data. Characters and graphics are sent to the printer-control-only hardware circuit in the form of a low-order raster image. In the printer-control-only hardware circuit, high-order raster image data regarding a natural image are converted to a low-order raster image. A low-order raster image corresponding to a complete print image is prepared by overlaying the low-order raster image relating to the natural image on the low-order raster image relating to characters and graphics.
In general, color conversion and halftoning of characters and graphics imposes a slight burden on the CPU, whereas color conversion and halftoning of a natural image imposes a heavy burden on the CPU. Since the processing involving a heavy burden is performed by the printer-control-only hardware circuit, the CPUs of the host machine and the printer can be freed from the heavy burden, thereby effectively increasing the processing speed. The profile of each of the characters and graphics must be clearly printed, and hence the characters and graphics require a high resolution. However, high-order raster data having a high resolution (e.g., full-color raster data) are enormous in volume. In contrast, low-order raster data (e.g., binary raster data) have a high resolution but are small in volume. For these reasons, so long as the high-resolution character/graphics image is transferred to the printer-control-only hardware circuit from the host machine in the form of low-order raster data, data transmission time is shortened.
Although a typical host machine corresponds to a host computer, the host machine is not limited to the host computer. In a preferred mode, the host machine may be a devicexe2x80x94which outputs only high-order raster data, such as an image scanner or a digital camera, and which does not have the function of generating a control circuit command. The data flow controller is provided upstream of the printer-control-only hardware circuit. The data flow controller is connected to the host computer, the image scanner, and the digital camera at all times or whenever necessary. The data flow controller is equipped with a control panel (or is connected to a control panel of the printer in a case where the data flow controller is incorporated into the printer). Upon receipt of a control circuit command from the printer driver of the host computer, the data flow controller transfers the control circuit command in its present form to the printer-control-only hardware circuit. Upon receipt, from the control panel, of the designation relating to a mode for printing the image captured by the image scanner or the digital camera, the data flow controller reads raster image data (e.g., full-color RGB raster image data) from the image scanner or the digital camera. Further, the data flow controller generates a series of control circuit commands for the purpose of printing the raster image under the print conditions specified by the user by way of the control panel. The thus-generated control circuit commands are transmitted to the printer-control-only hardware circuit.
Features and advantages of the invention will be evident from the following detailed description of the preferred embodiments described in conjunction with the attached drawings.